From 82caa4c0d6c68c993baef209473856f3824db466 Mon Sep 17 00:00:00 2001 From: robertl Date: Fri, 18 Mar 2005 18:32:42 +0000 Subject: [PATCH] use memmove to handle overlapping copies. --- gpsbabel/csv_util.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gpsbabel/csv_util.c b/gpsbabel/csv_util.c index 091bc9789..64ae1edd5 100644 --- a/gpsbabel/csv_util.c +++ b/gpsbabel/csv_util.c @@ -82,14 +82,13 @@ csv_stringclean(const char *string, const char *chararray) while (*p1) { if (*cp == *p1) { /* we don't want this character! */ - strncpy(p1, p1 + 1, (p2 - p1)); + memmove(p1, p1 + 1, (p2 - p1)); p1[p2 - p1] = '\0'; } p1++; } cp++; } - return (tmp); } @@ -151,7 +150,8 @@ csv_stringtrim(const char *string, const char *enclosure, int strip_max) } /* copy what's left over back into tmp. */ - strncpy(tmp, p1, (p2 - p1) + 1); + memmove(tmp, p1, (p2 - p1) + 1); + tmp[(p2 - p1) + 1] = '\0'; return (tmp); -- 2.30.2